package models

// CardBinQueryParams 卡bin查询参数
type CardBinQueryParams struct {
	MemberID       string `json:"memberId,omitempty"`       // 会员号
	CardFormFactor string `json:"cardFormFactor,omitempty"` // 卡介质：virtual_card/physical_card
	CardType       string `json:"cardType,omitempty"`       // 卡类型：share/recharge
	CardScheme     string `json:"cardScheme,omitempty"`     // 卡组织：MasterCard/Discover
	CardCurrency   string `json:"cardCurrency,omitempty"`   // 卡币种：USD/EUR/GBP
}

// CardBinInfo 卡bin信息
type CardBinInfo struct {
	BillingAddressUpdatable string `json:"billingAddressUpdatable"` // 账单地址是否可更新
	CardBin                 string `json:"cardBin"`                 // 卡bin
	CardBinId               string `json:"cardBinId,omitempty"`     // 卡Bin ID（HlPay特有字段）
	CardCurrency            string `json:"cardCurrency"`            // 卡币种
	CardScheme              string `json:"cardScheme"`              // 卡组织
	CardType                string `json:"cardType"`                // 卡类型
	ExpiryDateCustomization string `json:"expiryDateCustomization"` // 是否可自定义过期时间
	RemainingAvailableCard  string `json:"remainingAvailableCard"`  // 剩余可用卡数
	AvailableCard           string `json:"availableCard"`           // 可用卡数
	CardFormFactor          string `json:"cardFormFactor"`          // 卡介质
}

// CardBinResponse 卡bin查询响应
type CardBinResponse struct {
	BaseResponse
	Data []CardBinInfo `json:"data"` // 卡bin信息列表
}
